/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package futco.patrones.syscand.managedbean.gestionar;

import futco.patrones.syscand.entidades.Encuesta;
import futco.patrones.syscand.facade.EncuestaFacade;
import futco.patrones.syscand.jsf.framework.internacionalizacion.IMensajes;
import futco.patrones.syscand.jsf.framework.internacionalizacion.Internacionalizacion;
import futco.patrones.syscand.jsf.framework.util.Mensajes;
import java.awt.event.ActionEvent;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.apache.log4j.Logger;

/**
 *
 * @author josemora
 */
//@Named(value = "encuestaManagedBean")
//@Dependent
@ManagedBean
@ViewScoped
public class EncuestaManagedBean implements Serializable {

    @EJB
    private EncuestaFacade facade;
    
    private Encuesta encuesta;
    private Encuesta encuestaSeleccionada;
    private List<Encuesta> encuestas;
    protected static Logger log = Logger.getLogger(EncuestaManagedBean.class);

    public void guardar(ActionEvent actionEvent) {
        log.info("guardar");
        try {
            log.info(encuesta);
            facade.guardar(encuesta);
            encuestas = getFacade().buscarTodo();
            Mensajes.mensajeInformacion(encuesta, Internacionalizacion.getInstancia().getEtiqueta(IMensajes.MENSAJE_INFORMACION_GUARDAD));
            encuesta = new Encuesta();

        } catch (Exception e) {
            Mensajes.mensajeError(e, e);
            log.error(e.getCause(), e);

        }
    }

    public void nuevoRegistro(ActionEvent actionEvent) {
        log.info("nuevoRegistro");
        encuesta = new Encuesta();

    }

    public void seleccionarRegistro() {
        log.info("seleccionarRegistro");

        encuesta = encuestaSeleccionada;
    }

    public void eliminar(ActionEvent actionEvent) {
        log.info("eliminar");
        try {
            getFacade().eliminar(encuesta);
            encuestas = getFacade().buscarTodo();
            Mensajes.mensajeInformacion(Internacionalizacion.getInstancia().getEtiqueta(IMensajes.MENSAJE_INFORMACION_BORRADA), encuesta);
            encuesta = new Encuesta();
        } catch (Exception e) {
            Mensajes.mensajeError(e, e);
            log.error(e.getCause(), e);

        }
    }

    @PostConstruct
    public void init() {
        log.info("inti");
        encuestas = facade.buscarTodo();
    }

    /** Creates a new instance of EncuestaManagedBean */
    public EncuestaManagedBean() {
        log.info("Constructor");
        encuesta = new Encuesta();
        encuestas = new LinkedList<Encuesta>();
    }

    public Encuesta getEncuesta() {
        return encuesta;
    }

    public void setEncuesta(Encuesta encuesta) {
        this.encuesta = encuesta;
    }

    public Encuesta getEncuestaSeleccionada() {
        return encuestaSeleccionada;
    }

    public void setEncuestaSeleccionada(Encuesta encuestaSeleccionada) {
        this.encuestaSeleccionada = encuestaSeleccionada;
    }

    public List<Encuesta> getEncuestas() {
        return encuestas;
    }

    public void setEncuestas(List<Encuesta> encuestas) {
        this.encuestas = encuestas;
    }

    public EncuestaFacade getFacade() {
        return facade;
    }

    public void setFacade(EncuestaFacade facade) {
        this.facade = facade;
    }
}
